//============================================================================================
/**
 * @file	bong_sys.h
 * @brief
 * @author	NozomuSaito
 * @date	2008.06.04
 */
//============================================================================================

#ifndef	__BONG_SYS_H__
#define	__BONG_SYS_H__

#include "field_common.h"
#include "fieldobj.h"

#include "savedata/bong_bed.h"

//============================================================================================
//============================================================================================
typedef struct BONG_SYS_WORK BONG_SYS_WORK;

//============================================================================================
//============================================================================================
/**
#define SEEDITEMCHK_NOUSE			0x00		///< なにも使えない
#define	SEEDITEMCHK_USE_SEED		0x01		///<きのみをうえることができる
#define	SEEDITEMCHK_USE_COMPOST		0x02		///<こやしをうえることができる
#define SEEDITEMCHK_USE_ZYOURO		0x04		///<じょうろで水やりができる
*/

//============================================================================================
//============================================================================================
extern BONG_SYS_WORK * BongSys_Init(FIELDSYS_WORK * fsys, const int inHeapID);
extern void BongSys_Finish(BONG_SYS_WORK * bongsys);
extern void BongSys_Growth(FIELDSYS_WORK * fsys);
extern void BongSys_CheckInScreen(FIELDSYS_WORK * fsys);
extern BOOL BongSys_IsGrow(FIELDSYS_WORK * fsys, FIELD_OBJ_PTR fldobj);

extern BONG_STAT BongSys_GetBongStatus(const FIELDSYS_WORK * fsys, CONST_FIELD_OBJ_PTR fldobj);
extern int BongSys_GetBongType(const FIELDSYS_WORK * fsys, CONST_FIELD_OBJ_PTR fldobj);
extern int BongSys_GetBongColor(const FIELDSYS_WORK * fsys, CONST_FIELD_OBJ_PTR fldobj);
extern BOOL BongSys_Take(FIELDSYS_WORK * fsys, FIELD_OBJ_PTR fldobj);
extern int BongSys_GetBongItemNo(const FIELDSYS_WORK * fsys, CONST_FIELD_OBJ_PTR fldobj);


#endif	/* __BONG_SYS_H__ */